gtk-demo: Add an app chooser button demo
authorMatthias Clasen <mclasen@redhat.com>
Thu, 2 Jun 2011 01:44:22 +0000 (21:44 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 2 Jun 2011 01:44:22 +0000 (21:44 -0400)
Add a 'Mail' app chooser to the 'Pickers' example.

demos/gtk-demo/pickers.c

index 838c718ef5d007a336859d57cd36ace41295ab5e..e1f82ca02eee4758e4e37886b4578609d0fa2c0b 100644 (file)
@@ -1,7 +1,7 @@
-/* Pickers 
+/* Pickers
  *
  * These widgets are mainly intended for use in preference dialogs.
- * They allow to select colors, fonts, files and directories.
+ * They allow to select colors, fonts, files, directories and applications.
  */
 
 #include <gtk/gtk.h>
@@ -18,14 +18,14 @@ do_pickers (GtkWidget *do_widget)
     gtk_window_set_screen (GTK_WINDOW (window),
                            gtk_widget_get_screen (do_widget));
     gtk_window_set_title (GTK_WINDOW (window), "Pickers");
-   
+
     g_signal_connect (window, "destroy",
                       G_CALLBACK (gtk_widget_destroyed),
                       &window);
-    
+
     gtk_container_set_border_width (GTK_CONTAINER (window), 10);
 
-    table = gtk_table_new (4, 2, FALSE);    
+    table = gtk_table_new (5, 2, FALSE);
     gtk_table_set_col_spacing (GTK_TABLE (table), 0, 10);
     gtk_table_set_row_spacings (GTK_TABLE (table), 3);
     gtk_container_add (GTK_CONTAINER (window), table);
@@ -46,17 +46,24 @@ do_pickers (GtkWidget *do_widget)
 
     label = gtk_label_new ("File:");
     gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
-    picker = gtk_file_chooser_button_new ("Pick a File", 
+    picker = gtk_file_chooser_button_new ("Pick a File",
                                           GTK_FILE_CHOOSER_ACTION_OPEN);
     gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
     gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 2, 3);
 
     label = gtk_label_new ("Folder:");
     gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
-    picker = gtk_file_chooser_button_new ("Pick a Folder", 
+    picker = gtk_file_chooser_button_new ("Pick a Folder",
                                           GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
     gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
     gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 3, 4);
+
+    label = gtk_label_new ("Mail:");
+    gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+    picker = gtk_app_chooser_button_new ("x-scheme-handler/mailto");
+    gtk_app_chooser_button_set_show_dialog_item (GTK_APP_CHOOSER_BUTTON (picker), TRUE);
+    gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 4, 5);
+    gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 4, 5);
   }
 
   if (!gtk_widget_get_visible (window))
@@ -64,7 +71,7 @@ do_pickers (GtkWidget *do_widget)
       gtk_widget_show_all (window);
     }
   else
-    {    
+    {
       gtk_widget_destroy (window);
       window = NULL;
     }